package com.prueba.client.datos;


import com.prueba.client.servicios.Servicios;
import com.prueba.client.servicios.StakeHolderManager;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.fields.DataSourceTextField;
import com.smartgwt.client.widgets.form.validator.FloatRangeValidator;
import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
  
public class StakeholderData extends DataSource {  
  
    private static StakeholderData instance = null;  
  
    public static StakeholderData getInstance() {  
        if (instance == null) {  
            instance = new StakeholderData();  
        }  
        return instance;  
    }  
  
    public StakeholderData() {  
  
        setID("Stakeholders");  
        //para marcar foreing key desde otros datasource
        //setTitleField("Stakeholder");  
        //setRecordXPath("/lista/stakeholder");  //para indicar la ruta en el xml??
    	
        //Campo Stakeholder:
        DataSourceTextField stakeholderNombre=new DataSourceTextField("stakeholder", "Stakeholder");
    	stakeholderNombre.setPrimaryKey(true);  
    	stakeholderNombre.setRequired(true);  
    	
    	//Campo prioridad:
    	DataSourceTextField stakeholderPrioridad = new DataSourceTextField("prioridad", "Prioridad");
    	stakeholderPrioridad.setRequired(true);
    	FloatRangeValidator restriccionPrioridad=new FloatRangeValidator();
    	restriccionPrioridad.setMax(1.0f);
    	restriccionPrioridad.setMin(0.0f);
    	stakeholderPrioridad.setValidators(restriccionPrioridad);
    	
    	//Campo cantidad:
    	DataSourceTextField stakeholderCantidad = new DataSourceTextField("cantidad", "Cantidad");
    	stakeholderCantidad.setRequired(true);
    	IntegerRangeValidator restriccionCantidad=new IntegerRangeValidator();
    	restriccionCantidad.setMax(Integer.MAX_VALUE);
    	restriccionCantidad.setMin(1);
    	stakeholderCantidad.setValidators(restriccionCantidad);
    	
    	//Id Datanucleus:
    	DataSourceTextField idDataNucleus = new DataSourceTextField("id",  "Id");
    	idDataNucleus.setHidden(true);
    	idDataNucleus.setRequired(false);
    	
    	//Seteo los campos:
        setFields(stakeholderNombre,stakeholderPrioridad,stakeholderCantidad,idDataNucleus);  
        setClientOnly(true); 
        
        
        //Agrego los stakeholders al DataSource
		StakeHolderManager.getStakeholders();
		

    }  	
}  